package com.sky.controller.admin;

import com.sky.result.Result;

import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.*;

/**
 * @author 贾育权~
 * @version 1.0
 */
//起一个其他的名字避免就是因为名字冲突导致冲突（实例化出的对象名字相同导致冲突）

@RestController("adminShopController")
@RequestMapping("/admin/shop")
@Slf4j
public class ShopController {//店铺相关接口 1.店铺状态设置 2.店铺信息查询 3.修改店铺信息
    @Autowired
    private RedisTemplate redisTemplate;
    public static final String KEY="SHOP_STATUS";
    //1.店铺状态设置//修改店铺状态
    @ApiOperation("设置店铺状态")
    @PutMapping("/{status}")
    public Result setStatus(@PathVariable Integer status){//根据我们传进来的状态值进行修改//1 是营业中 2是 停业中
        log.info("设置店铺状态：{}",status==1?"营业中":"停业中");

        redisTemplate.opsForValue().set(KEY,status);//设置redis的key和value //KEY 是key就是来标识不同的数据接口的 //
        // String 类型的变量 标识不同的字符串用到了 key
        return Result.success();
    }
    //2.店铺状态查询
    @ApiOperation("获取店铺状态")
    @GetMapping("/status")
    public Result<Integer> getStatus(){//设置的时候我们我们页key 和value //get 获取key对应的value
        Integer shopStatus = (Integer) redisTemplate.opsForValue().get(KEY);
        return Result.success(shopStatus);
    }


}
